package com.xiu.util;

import java.awt.Font;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;


public class CountDown {
		
	//private JLabel label;
			
	public void countDown(final HttpSession session,int time){
		    //创建窗体对象倒计时的内容将显示在该窗体上面
		/*JFrame frame=new JFrame();
		frame.setSize(400,150);
		frame.setLocationRelativeTo(null);
		frame.setResizable(false);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//将倒计时字幕显示在正中间
		label=new JLabel("",JLabel.CENTER);
		frame.setLayout(new BorderLayout());
		frame.add(label,BorderLayout.CENTER);
		frame.setVisible(true);*/
			
		    /* 
		 * 设置倒计时的时间长度
		 * 创建timer对象，再根据timer的schedule方法创键匿名内部类
		 * 并实现线程
		 */
		/*System.out.println("请输入需要设定的倒计时长：");
		Scanner input=new Scanner(System.in);*/
		//i可以设计成任意的大小，不是固定的
		//int i= input.nextInt();
		
		final long end=System.currentTimeMillis()+time*1000*60;
		Timer timer=new Timer();
		timer.schedule(new TimerTask() {
		//获取剩余的倒计时长
		public void run() {
			long sub=end-System.currentTimeMillis();
			if(sub<0){
				return;
			}
			session.setAttribute("times", updateTimer(sub));
		}
		},0,1000);
	}
		    //显示成HH：mm：ss样的格式，刷新剩余的时长
		
	public String updateTimer(long sub){
		int h=(int)(sub/1000/60/60);
		int m=(int)(sub/1000/60%60);
		int s=(int)(sub/1000%60);
		String str=h+":"+m+":"+s;
		//将String类型转换成Date类型的格式
		SimpleDateFormat sdf=new SimpleDateFormat("HH:mm:ss");
		Date date=new Date(); 
		//Font font=new Font("Default", Font.PLAIN, 40);
		/*label.setFont(font);*/
		try{
			date=sdf.parse(str);
		}catch(Exception e){
			e.printStackTrace();
		}
		//将Date类型的数设置成想要显示的时间格式,并写入JLable中
	/*	label.setText(sdf.format(date));*/
		System.out.println(sdf.format(date));
		return sdf.format(date);
	}
		    
	/*public static void main(String[]args){
	    CountDown cn=new CountDown();
	    cn.countDown();
	}*/
}


